using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Runtime.Serialization;


namespace objetos
{


    [Serializable()]
	#region TB_CADASTRO
	/// <summary>
	/// This object represents the properties and methods of a TB_CADASTRO.
	/// </summary>
    /// 



    public class OBJ_TB_CADASTRO : IComparer<OBJ_TB_CADASTRO>
	{
		#region Construtor
		public OBJ_TB_CADASTRO() {
            this.Tb_cadastro_fisica = new OBJ_TB_CADASTRO_FISICA();
            this.Tb_cadastro_juridica = new OBJ_TB_CADASTRO_JURIDICA();
            this.Tb_endereco_cadastro = new OBJ_TB_ENDERECO_CADASTRO();
            this.Tb_tipo_situacao_cadastro = new OBJ_TB_TIPO_SITUACAO_CADASTRO();
            this.Lista_cadastro_email = new List<OBJ_TB_CADASTRO_EMAIL>();

        }
		#endregion
		
		#region Public Properties
		
		private int _id;
		private string _nome = String.Empty;
		private string _pessoa = String.Empty;
		private string _cnpj_cpf = String.Empty;
        private string _suframa = String.Empty;
		private int _id_situacao;
        private int _id_tipo_cadastro_fiscal;
		private bool _sit_ativo;
		private string _observacao = String.Empty;
        private int? _id_usuario_criador;
		private int? _id_usuario_checkin;
		private DateTime? _dt_checkin;
		private DateTime? _dt_cadastro;

        private List<OBJ_TB_CADASTRO_EMAIL> _lista_cadastro_email;

        public List<OBJ_TB_CADASTRO_EMAIL> Lista_cadastro_email
        {
            get { return _lista_cadastro_email; }
            set { _lista_cadastro_email = value; }
        }


        private OBJ_TB_TIPO_SITUACAO_CADASTRO _tb_tipo_situacao_cadastro;

        public OBJ_TB_TIPO_SITUACAO_CADASTRO Tb_tipo_situacao_cadastro
        {
            get { return _tb_tipo_situacao_cadastro; }
            set { _tb_tipo_situacao_cadastro = value; }
        }



        private OBJ_TB_CADASTRO_JURIDICA _tb_cadastro_juridica;

        public OBJ_TB_CADASTRO_JURIDICA Tb_cadastro_juridica
        {
            get { return _tb_cadastro_juridica; }
            set { _tb_cadastro_juridica = value; }
        }

        private OBJ_TB_CADASTRO_FISICA _tb_cadastro_fisica;

        public OBJ_TB_CADASTRO_FISICA Tb_cadastro_fisica
        {
            get { return _tb_cadastro_fisica; }
            set { _tb_cadastro_fisica = value; }
        }

        private OBJ_TB_ENDERECO_CADASTRO _tb_endereco_cadastro;

        public OBJ_TB_ENDERECO_CADASTRO Tb_endereco_cadastro
        {
            get { return _tb_endereco_cadastro; }
            set { _tb_endereco_cadastro = value; }
        }

    
		public int id
		{
			get {return _id;}
			set {_id = value;}
		}
		
		public string nome
		{
			get {return _nome;}
			set {_nome = value;}
		}

		public string pessoa
		{
			get {return _pessoa;}
			set {_pessoa = value;}
		}

		public string cnpj_cpf
		{
			get {return _cnpj_cpf;}
			set {_cnpj_cpf = value;}
		}

        public string suframa
        {
            get { return _suframa; }
            set { _suframa = value; }
        }

		public int id_situacao
		{
			get {return _id_situacao;}
			set {_id_situacao = value;}
		}


        public int id_tipo_cadastro_fiscal
        {
            get { return _id_tipo_cadastro_fiscal; }
            set { _id_tipo_cadastro_fiscal = value; }
        }
 

		public bool sit_ativo
		{
			get {return _sit_ativo;}
			set {_sit_ativo = value;}
		}

		public string observacao
		{
			get {return _observacao;}
			set {_observacao = value;}
		}

        public int? id_usuario_criador
        {
            get { return _id_usuario_criador; }
            set { _id_usuario_criador = value; }
        }


		public int? id_usuario_checkin
		{
			get {return _id_usuario_checkin;}
			set {_id_usuario_checkin = value;}
		}

		public DateTime? dt_checkin
		{
			get {return _dt_checkin;}
			set {_dt_checkin = value;}
		}

		public DateTime? dt_cadastro
		{
			get {return _dt_cadastro;}
			set {_dt_cadastro = value;}
		}
		#endregion

        public int Compare(OBJ_TB_CADASTRO x, OBJ_TB_CADASTRO y)
        {
           return  string.Compare(x.nome, y.nome);
        }
    }
	#endregion
}

